using System;
using System.Collections.Generic;
using System.Text;

namespace Microsoft.Samples.BizTalk.Adapter.Tcp
{
    /// <summary>
    ///     This class defines the resource constants for the adapter.
    /// </summary>
    /// <author>
    ///     Paul Brown
    /// </author>
    public class ResourceConstants
    {
        // Base name for resources
        public const string BaseName = "Microsoft.Samples.BizTalk.Adapter.Tcp.Resources";

        // Trace Switch Descriptions
        public const string TraceSwitchReceiveAdapterDescription = "TS001";
        public const string TraceSwitchSendAdapterDescription = "TS002";
        public const string TraceSwitchSocketDescription = "TS003";

        // General Adapter
        public const string AdapterConfigurationError = "A0001";
        public const string ConfigurationPropertyMissing = "A0002";
        public const string LoadingAdapterConfiguration = "A0003";
        public const string SavingDataToDeadMessageFolder = "A0004";
        

        // Thread Specific
        public const string ReceiveDuplexWorkerThreadName = "T0001";
        public const string ReceiveBatchWorkerThreadName = "T0002";
        public const string ListenerThreadNamePrefix = "T0003";
        public const string DuplexListenerThreadNamePrefix = "T0004";
        public const string DispatcherThreadName = "T0005";
        public const string DispatcherGeneralError = "T0006";
        public const string DispatcherThreadInterrupted = "T0007";
        public const string DispatcherStarting = "T0008";
        public const string DispatcherStarted = "T0009";
        public const string DispatcherStopping = "T0010";
        public const string DispatcherStopped = "T0011";
        public const string DispatcherAddingWork = "T0012";
        public const string DispatcherStoppedError = "T0013";
        public const string DispatcherStoppingError = "T0014";
        public const string NoWorkerThreadsError = "T0015";
        public const string DispatcherWorkDispatchedToThread = "T0016";
        public const string DispatcherWaitingForWork = "T0017";
        public const string DispatcherGeneralWorkAssignmentError = "T0018";
        public const string ReceiveTransmitWorkerThreadName = "T0019";
        public const string WorkerThreadStarting = "T0020";
        public const string WorkerThreadStarted = "T0021";
        public const string WorkerThreadStopping = "T0022";
        public const string WorkerThreadStopped = "T0023";
        public const string WorkerThreadStoppedError = "T0024";
        public const string WorkerThreadStoppingError = "T0025";
        public const string WorkerThreadWaitingForWork = "T0026";
        public const string WorkerThreadInterrupted = "T0027";
        public const string WorkerThreadGeneralError = "T0028";
        public const string ReceiveOrderedBatchWorkerThreadName = "T0029";
        public const string SendBatchWorkerThreadName = "T0030";
        public const string SendDuplexWorkerThreadName = "T0031";
        public const string SendTransmitWorkerThreadName = "T0032";
        public const string FailedCheckingIdleThreads = "T0033";
        public const string ShuttingDownIdleThread = "T0034";

        //
        // Receive Adapter
        //
        public const string ReceiveAdapterDescription = "R0001";
        public const string ReceiveAdapterName = "R0002";
        public const string ReceiveNoMessagesInBatch = "R0003";
        public const string ReceiveLocationConfigurationNotExist = "R0004";
        public const string ReceiveAdapterInitializeStart = "R0005";
        public const string ReceiveAdapterInitializeComplete = "R0006";
        public const string ReceiveAdapterTerminateStart = "R0007";
        public const string ReceiveAdapterTerminateComplete = "R0008";
        public const string ReceiveLocationAdded = "R0009";
        public const string ReceiveLocationRemoved = "R0010";
        public const string ReceiveLocationConfigUpdated = "R0011";
        public const string ReceiveBatchSize = "R0012";
        public const string ReceiveBatchSubmissionTimeout = "R0013";
        public const string ReceiveMaxBatchKbSize = "R0014";
        public const string ReceiveBatchWorkerThreads = "R0015";
        public const string ReceiveUseBlockingSockets = "R0016";
        public const string ReceiveListenerTerminateTimeout = "R0017";
        public const string ReceiveTcpListenPort = "R0018";
        public const string ReceiveTcpMaxPendingConnections = "R0019";
        public const string ReceiveTcpIsDuplex = "R0020";
        public const string ReceiveDequeuedDuplexWork = "R0021";
        public const string ReceiveTwoWayReceivePort = "R0022";
        public const string ReceiveCreatingSyncListener = "R0023";
        public const string ReceiveCreatedSyncDuplexListener = "R0024";
        public const string ReceiveCreatingAsyncListener = "R0025";
        public const string ReceiveCreatedAsyncDuplexListener = "R0026";
        public const string ReceiveStartingMainListenerSyncThread = "R0027";
        public const string ReceiveStartingDuplexListenerSyncThread = "R0028";
        public const string ReceiveStartingMainAsyncListener = "R0029";
        public const string ReceiveStartingDuplexAsyncListener = "R0030";
        public const string ReceiveBlockingOnAccept = "R0031";
        public const string ReceiveAcceptedNewSocket = "R0032";
        public const string ReceiveTerminateCalled = "R0033";
        public const string ReceiveDuplexPollTimeout = "R0034";
        public const string ReceiveMainCloseTimeout = "R0035";
        public const string ReceiveDuplexCloseTimeout = "R0036";
        public const string ReceiveBlockingOnPoll = "R0037";
        public const string ReceiveTwoWayPortAndDuplexNotSupported = "R0038";
        public const string ReceiveSocketDisposedError = "R0039";
        public const string ReceiveSocketError = "R0040";
        public const string ReceiveThreadAbortedError = "R0041";
        public const string ReceiveGeneralError = "R0042";
        public const string ReceiveSocketAcceptCallbackInvoked = "R0043";
        public const string ReceiveCatastrophicError = "R0044";
        public const string ReceiveDuplexWorkerThreads = "R0045";
        public const string ReceiveTransmitWorkerThreads = "R0046";
        public const string ReceiveGetBatch = "R0047";
        public const string ReceiveDequeuedWork = "R0048";
        public const string ReceiveReachedBatchSizeLimit = "R0049";
        public const string ReceiveExceededMaxBatchDataLimit = "R0050";
        public const string ReceiveExceededBatchTimeoutLimit = "R0051";
        public const string ReceiveSubmittingBatch = "R0052";
        public const string ReceiveFailedAddingToBatch = "R0053";
        public const string ReceiveSubmitRequestMessageToBatch = "R0054";
        public const string ReceiveSubmitMessageToBatch = "R0055";
        public const string ReceiveFailedSubmittingBatchRetrying = "R0056";
        public const string ReceiveSocketReceiveBufferSize = "R0057";
        public const string ReceiveSocketReceiveTimeout = "R0058";
        public const string ReceiveSocketSendBufferSize = "R0059";
        public const string ReceiveSocketSendTimeout = "R0060";
        public const string ReceiveReceiveDataBufferSize = "R0061";
        public const string ReceiveSendDataBufferSize = "R0062";
        public const string ReceiveResponseMessageTimeout = "R0063";
        public const string ReceiveBatchRetryCount = "R0064";
        public const string ReceiveBatchRetryInterval = "R0065";
        public const string ReceiveFailedSubmittingBatch = "R0066";
        public const string ReceiveReachedMaximumFailureDepth = "R0067";
        public const string ReceiveStopReceivingMessagesToPreserveOrder = "R0068";
        public const string ReceiveClientCloseTimeout = "R0069";
        public const string ReceiveFailedReceivingData = "R0070";
        public const string ReceiveSubmittingOrderedWorkItem = "R0071";
        public const string ReceiveStartingOrderedWorkerThread = "R0072";
        public const string ReceiveStartingDuplexListener = "R0073";
        public const string ReceiveStartedDuplexListener = "R0074";
        public const string ReceiveStoppingDuplexListener = "R0075";
        public const string ReceiveStoppedDuplexListener = "R0076";
        public const string ReceiveStartingMainListener = "R0077";
        public const string ReceiveStartedMainListener = "R0078";
        public const string ReceiveStoppingMainListener = "R0079";
        public const string ReceiveStoppedMainListener = "R0080";
        public const string ReceiveDataAvailableOnInititatorSocket = "R0081";
        public const string ReceiveSocketReceiveCallbackInvoked = "R0082";
        public const string ReceiveDataOutputByteOrderMark = "R0083";
        public const string ReceiveDataByteOrder = "R0084";
        public const string ReceiveDataCustomEncoding = "R0085";
        public const string ReceiveDataEncoding = "R0086";
        public const string ReceiveFrameOutputByteOrderMark = "R0087";
        public const string ReceiveFrameByteOrder = "R0088";
        public const string ReceiveFrameCustomEncoding = "R0089";
        public const string ReceiveFrameEncoding = "R0090";
        public const string ReceiveFrameStart = "R0091";
        public const string ReceiveFrameEnd = "R0092";
        public const string ReceiveIsOrdered = "R0093";
        public const string ReceiveSuspendSubsequentMessages = "R0094";
        public const string ReceiveStoppingOrderedWorkerThread = "R0095";
        public const string ReceiveBinaryEncoding = "R0096";
        public const string ReceiveDequeuedTransmitWork = "R0097";
        public const string ReceiveFailedToTransmitResponse = "R0098";
        public const string ReceiveBizTalkHasReturnedResponse = "R0099";
        public const string ReceiveBizTalkResponseIsNack = "R0100";
        public const string ReceiveBizTalkResponseIsResponse = "R0101";
        public const string ReceiveAcceptMultipleMessages = "R0102";
        public const string ReceiveDeadMessageFolder = "R0103";
        public const string ReceiveLazyInitializeDispatcher = "R0104";
        public const string ReceiveThreadIdleTimeout = "R0105";
        public const string ReceiveInitiatorSocketClosedRemotely = "R0106";
        public const string ReceiveDuplexReceiveTimeout = "R0107";
        public const string ReceiveDuplicateListenPortFound = "R0108";
        public const string ReceiveInitialiseNewBatch = "R0109";

        //
        // Send Adapter
        //
        public const string SendAdapterDescription = "S0001";
        public const string SendAdapterName = "S0002";
        public const string SendHandlerConfigurationNotExist = "S0003";
        public const string SendAdapterInitializeStart = "S0004";
        public const string SendAdapterInitializeComplete = "S0005";
        public const string SendAdapterTerminateStart = "S0006";
        public const string SendAdapterTerminateComplete = "S0007";
        public const string SendResponseBatchSize = "S0008";
        public const string SendBatchSubmissionTimeout = "S0009";
        public const string SendMaxBatchKbSize = "S0010";
        public const string SendBatchRetryCount = "S0011";
        public const string SendBatchRetryInterval = "S0012";
        public const string SendBatchWorkerThreads = "S0013";
        public const string SendDuplexWorkerThreads = "S0014";
        public const string SendTransmitWorkerThreads = "S0015";
        public const string SendTransmitBatchSize = "S0016";
        public const string SendBeginBatch = "S0017";
        public const string SendClearBatch = "S0018";
        public const string SendDoneBatch = "S0019";
        public const string SendTransmitMessage = "S0020";
        public const string SendEndpointAddress = "S0021";
        public const string SendEndpointPort = "S0022";
        public const string SendCloseTimeout = "S0023";
        public const string SendSocketReceiveBufferSize = "S0024";
        public const string SendSocketReceiveTimeout = "S0025";
        public const string SendSocketSendBufferSize = "S0026";
        public const string SendSocketSendTimeout = "S0027";
        public const string SendSupportsDuplex = "S0028";
        public const string SendPartyEndpoint = "S0029";
        public const string SendReceiveDataBufferSize = "S0030";
        public const string SendSendDataBufferSize = "S0031";
        public const string SendTwoWaySendPort = "S0032";
        public const string SendGetBatch = "S0033";
        public const string SendDequeuedWork = "S0034";
        public const string SendFailedAddingToBatch = "S0035";
        public const string SendReachedBatchSizeLimit = "S0036";
        public const string SendExceededMaxBatchDataLimit = "S0037";
        public const string SendExceededBatchTimeoutLimit = "S0038";
        public const string SendSubmittingBatch = "S0039";
        public const string SendFailedSubmittingBatchRetrying = "S0040";
        public const string SendFailedSubmittingBatch = "S0041";
        public const string SendNoMessagesInBatch = "S0042";
        public const string SendDequeuedTransmitWork = "S0043";
        public const string SendSendingDataSolicitResponse = "S0044";
        public const string SendSendingDataSolicit = "S0045";
        public const string SendPartialResponseReceived = "S0046";
        public const string SendDiscardingOtherResponses = "S0047";
        public const string SendReceivedResponse = "S0048";
        public const string SendTransmitFailure = "S0049";
        public const string SendLocationIsDynamic = "S0050";
        public const string SendLocationIsStatic = "S0051";
        public const string SendFailedResolvingDuplexAddress = "S0052";
        public const string SendDequeuedDuplexWork = "S0053";
        public const string SendLocationAddressChanged = "S0054";
        public const string SendDuplexTransmitWorkItemDispatched = "S0055";
        public const string SendAddingResponseToBatch = "S0056";
        public const string SendAddingDeleteToBatch = "S0057";
        public const string SendAddingResubmitToBatch = "S0058";
        public const string SendAddingMoveToNextTransportToBatch = "S0059";
        public const string SendAddingMoveToSuspendQueueToBatch = "S0060";
        public const string SendTwoWayPortAndDuplexNotSupported = "S0061";
        public const string SendDataOutputByteOrderMark = "S0062";
        public const string SendDataByteOrder = "S0063";
        public const string SendDataCustomEncoding = "S0064";
        public const string SendDataEncoding = "S0065";
        public const string SendFrameOutputByteOrderMark = "S0066";
        public const string SendFrameByteOrder = "S0067";
        public const string SendFrameCustomEncoding = "S0068";
        public const string SendFrameEncoding = "S0069";
        public const string SendFrameStart = "S0070";
        public const string SendFrameEnd = "S0071";
        public const string SendIsOrdered = "S0072";
        public const string SendBinaryEncoding = "S0073";
        public const string SendReceivedNoResponse = "S0074";
        public const string SendDuplexDynamicPort = "S0075";
        public const string SendNonDuplexDynamicPort = "S0076";
        public const string SendDeadMessageFolder = "S0077";
        public const string SendLazyInitializeDispatcher = "S0078";
        public const string SendThreadIdleTimeout = "S0079";
        public const string SendDuplexSendBytesNotEqual = "S0080";

        //
        // Socket
        //
        public const string SocketFailedReceivingData = "SK001";
        public const string SocketFailedSendingData = "SK002";
        public const string SocketAboutToReceive = "SK003";
        public const string SocketReceiveBytes = "SK004";
        public const string SocketReceiveStateStartNotFound = "SK005";
        public const string SocketReceiveStateStartFound = "SK006";
        public const string SocketReceiveStateEndFound = "SK007";
        public const string SocketFrameStartFound = "SK008";
        public const string SocketFrameEndFound = "SK009";
        public const string SocketReceiveBufferProcessed = "SK010";
        public const string SocketNoMoreData = "SK011";
        public const string SocketAboutToSend = "SK012";
        public const string SocketSendingMessage = "SK013";
        public const string SocketSentBytes = "SK014";
        public const string SocketSentMessage = "SK015";
        public const string SocketSuspendedPartialMessage = "SK016";
        public const string SocketReceiveStateStartFoundCreateMessage = "SK017";
        public const string SocketEncodingConversion = "SK018";
        public const string SocketAboutToReceiveSend = "SK019";
        public const string SocketReceiveTimedOut = "SK020";
        public const string SocketReceiveExitLoopEarly = "SK021";

        //
        // BizTalk
        //
        public const string BizTalkBatchCompleteFailed = "BT001";
        public const string BizTalkBatchSubmissionSuccess = "BT002";
        public const string BizTalkBatchFailed = "BT003";
        public const string BizTalkBatchMethodFailure = "BT004";
        public const string BizTalkBatchOperationFailure = "BT005";
        public const string BizTalkBatchOperationSuccess = "BT006";
        public const string BizTalkPartyAliasName = "BT007";
        public const string BizTalkPartyAliasQualifierDnsName = "BT008";
        public const string BizTalkPartyAliasQualifierIpAddress = "BT009";
        public const string BizTalkPartyAliasQualifierDuplexAddress = "BT010";
        public const string BizTalkPartyNotFound = "BT011";
        public const string BizTalkPartyNotFoundByHost = "BT012";
        public const string BizTalkUpdatedPartyWithDuplexAddress = "BT013";
        public const string BizTalkRemovedDuplexAddressFromParty = "BT014";
        public const string BizTalkDuplexAddressNotFound = "BT015";
        public const string BizTalkBatchFailedHandlingBatchFailure = "BT016";
        public const string BizTalkPartyNotFoundToResolveDuplexAddress = "BT017";
    }
}
